<style>
    img.fans-portrait{
        width:50px;
        height:50px;
    }
    .fsh-rightPanel .layui-table-body .layui-table-cell {
        height: 50px;
        line-height: 50px;
    }
</style>
<div class="fsh-rightPanel">
    <div class="layui-anim layui-anim-upbit">
        <div class="layui-form-item wx-search" id="list_form">
            <div class="layui-inline">
                <input type="text" name="v" placeholder="请输入字典名称" autocomplete="off" class="layui-input">
            </div>
            <button class="layui-btn btn-primary" id="search">搜索</button>
            <div class="layui-btn-container" style="text-align: right">
                <button class="layui-btn btn-primary" id="btn_flushcache">刷新缓存</button>
<!--                  <button class="layui-btn btn-primary" id="role_add">新建字典</button>-->
            </div>
        </div>
        <table id="list_table" class="layui-hide" lay-filter="mainList"></table>
    </div>
</div>

<script>

    function getDateStr(v) {
        var date = new Date(v);
        var y = date.getFullYear();
        var m = date.getMonth() + 1;
        m = m < 10 ? '0' + m : m;
        var d = date.getDate();
        d = d < 10 ? ("0" + d) : d;
        var h = date.getHours();
        h = h < 10 ? ("0" + h) : h;
        var M = date.getMinutes();
        M = M < 10 ? ("0" + M) : M;
        var str = y + "-" + m + "-" + d + " " + h + ":" + M;
        return str;
    }

    var parentId;
    layui.use(['layer', 'table'], function () {
        var layer = layui.layer;
        var table = layui.table;

        var table = layui.table;

        var tableObj = table.render({
            elem: '#list_table',
            url: context+'/api/sysdict/list',
            request: {
                limitName: 'pageSize' //每页数据量的参数名，默认：limit
            },
            align: 'center'
            ,cols: [[ //表头

                {type:'numbers'},
                {field: 'dict_id', title: '字典ID', align: 'center'},
                {field: 'v', title: '字典名称', align: 'center'},
                {field: 'k', title: '字典编码',  align: 'center'},
                {field: 'type', title: '类型',   align: 'center'},
                {field: 'sort', title: '排序',   align: 'center'}

                // ,{field: 'lock', title: '操作', width: 200, align: 'center', unresize: true, align: 'center',
                //     templet: function (d) {
                //         return '<a href="javascript:;" class="font-primary" lay-event="update">修改</a>'
                //             + '<a href="javascript:;" class="font-primary" lay-event="del">删除</a>';
                //     }
                // }
            ]]
            ,page:true

        });

        // 检索
        $("#search").click(function () {
            reloadTable(tableObj);
        });
        // 检索
        $("#btn_flushcache").click(function () {
            $.ajax({
                url: context + '/api/sysdict/flush',
                type: 'DELETE',
                success: function(data){
                    if(data.success){layer.msg("刷新缓存成功!");}
                }
            });
        });
 		// 添加
        $("#role_add").click(function () {
            showDialog({
                title: '新建字典'
                , template: 'add.html'
                , tableObj: tableObj
                ,yes: function(index, layero){
						layui.form.on('submit(*)', function (data) {
                                    $.ajax({
								    		url: context+'/api/sysdict/insert',
								    		type: 'POST',
						                    async: false,
						                    dataType: 'json',
						                    contentType: "application/json;charset-UTF-8",
										    data:JSON.stringify(data.field),
										    success: function (result) {
										        if (result.success) {
										            layer.msg("添加成功");
										         	layer.close(index);
										         	reloadTable(tableObj);
										        }else{
										            layer.msg(result.msg);
										        }
										    },
										    error: function () {
										        layer.msg("添加异常");
										    }
										})
                                });
                                //表单验证
                                layui.form.validate();//默认form名称为add_form（可不填写）
                }

            })
        });

        //表格内部操作按钮监听
        table.on('tool(mainList)', function (obj) { //注：tool是工具条事件名，mainList是table原始容器的属性 lay-filter="对应的值"
            var data = obj.data; //获得当前行数据
            var layEvent = obj.event; //获得 lay-event 对应的值

            if (layEvent === 'update') {
                showDialog({
                title: '编辑字典'
                ,type:'get'
                , template: 'edit'
                , tableObj: tableObj
                , htmlData: data
                ,yes: function(index, layero){
						layui.form.on('submit(*)', function (data) {

                                    $.ajax({
								    		url: context+'/api/sysdict/update',
								    		type: 'PATCH',
						                    async: false,
						                    dataType: 'json',
						                    contentType: "application/json;charset-UTF-8",
										    data:JSON.stringify(data.field),
										    success: function (result) {
										        if (result.success) {
										            layer.msg("修改成功");
										         	layer.close(index);
										         	reloadTable(tableObj);
										        }else{
										             layer.msg(result.msg);
										        }
										    },
										    error: function () {
										        layer.msg("修改异常");
										    }
										})
                                });

                                //表单验证
                                layui.form.validate();//默认form名称为add_form（可不填写）
                }

            })
            }
            // 删除
            if (layEvent === 'del') {
                layer.confirm('确认删除此字典？', {
                    icon: 7,
                    title: "提示",
                    btn: ['确认', '取消'] //按钮
                }, function () {
                    $.ajax({
                        url: context+'/api/sysdict/del/'+data.dict_id,
                        type:"DELETE",
                        success: function (result) {
                            if (result.success && result.data > 0) {
                                layer.msg("删除成功");
                                reloadTable(tableObj);
                            }else{
                                 layer.msg(result.msg);
                            }
                        },
                        error: function () {
                            layer.msg("删除异常");
                        }
                    })
                }, function () {
                    layer.closeAll();
                });
            }
            // // 分配角色
            // if (layEvent === 'role') {
            //        showDialog({
            //     title: '分配角色'
            //     , template: 'role'
            //     , tableObj: tableObj
            //     , htmlData: data
            //     ,yes: function(index, layero){
            //             layui.form.on('submit(*)', function (data) {

            //                         $.ajax({
            //                                 url: context+'/api/sysuser/updateRole',
            //                                 type: 'PATCH',
            //                                 async: false,
            //                                 dataType: 'json',
            //                                 contentType: "application/json;charset-UTF-8",
            //                                 data:JSON.stringify(data.field),
            //                                 success: function (result) {
            //                                     if (result.success) {
            //                                         layer.msg("分配成功");
            //                                         layer.close(index);
            //                                         reloadTable(tableObj);
            //                                     }else{
            //                                        layer.msg(result.msg);
            //                                     }
            //                                 },
            //                                 error: function () {
            //                                     layer.msg("分配异常");
            //                                 }
            //                             })
            //                     });

            //                     //表单验证
            //                     layui.form.validate();//默认form名称为add_form（可不填写）
            //     }

            // })
            // }


        });

    });
</script>
